package com.teng.algorithm.sort;

import java.text.SimpleDateFormat;
import java.util.Arrays;

/**
 * @author liangtl
 * @Date 2023/2/12
 * @Return
 * @Description: 测试冒泡排序实际消耗时间
 */
public class BubbleSortTime {
    public static void main(String[] args) {
        // 生成一个80000的数组
        int[] array = new int[80000];
        for (int i = 0; i < 80000; i++) {
            array[i] = (int) (Math.random() * 800000); // 生成随机数范围：[0, 800000)
        }
        long start = System.currentTimeMillis();
        System.out.println("排序开始,请等待.......");
        int[] bubbleSort = bubbleSort(array);
        System.out.println("排序完成！");
        long end = System.currentTimeMillis();
        System.out.println("80000个数据的冒泡排序时间为： " + (end - start) + "ms");
    }

    public static int[] bubbleSort(int[] arr_adv) {
        int temp_adv;
        boolean flag = false;
        for (int m = 1; m <= arr_adv.length - 1; m++) {
            for (int n = 0; n < arr_adv.length - m; n++) {
                if (arr_adv[n] > arr_adv[n + 1]) {
                    flag = true;
                    temp_adv = arr_adv[n];
                    arr_adv[n] = arr_adv[n + 1];
                    arr_adv[n + 1] = temp_adv;
                }
            }
            if (!flag) {
                break;
            } else {
                flag = false;
            }
        }
        return arr_adv;
    }
}
